<?php
//获取WebHook推送的数据
$body = json_decode(file_get_contents("php://input"), true);
// 请求密码
$password = '123456';

// 验证提交分支是否为master
if (!isset($body['ref']) || $body['ref'] !== 'refs/heads/master') {
    echo '非主分支' . $body;
    exit(0);
}

// 验证提交密码是否正确
if (!isset($body['password']) || $body['password'] !== $password) {
    echo '密码错误';
    exit(0);
}
// 验证成功，拉取代码
$path = $body['project']['path'];


//1 cd 到指定项目目录
//2 git reset --hard  放弃本地修改，直接覆盖  git reset --hard和git clean -f是一对好基友. 结合使用他们能让你的工作目录完全回退到最近一次commit的时候
//3 git pull 从码云仓库拉取代码
$command = 'cd /www/wwwroot/gitshop/' . $path . ' && git reset --hard origin/master && git clean -f && git pull 2>&1';

$res = shell_exec($command); //执行shell命令

